home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Trusted Irix /B 4.0.4
/
Trusted-Irix B-4.0.1.iso
/
dist
/
eoe1.idb
/
usr
/
include
/
sys
/
syssgi.h.z
/
syssgi.h
Wrap
C/C++ Source or Header
|
1992-04-03
|
6KB
|
189 lines
/**************************************************************************
* *
* Copyright (C) 1986, Silicon Graphics, Inc. *
* *
* These coded instructions, statements, and computer programs contain *
* unpublished proprietary information of Silicon Graphics, Inc., and *
* are protected by Federal copyright law. They may not be disclosed *
* to third parties or copied or duplicated in any form, in whole or *
* in part, without the prior written consent of Silicon Graphics, Inc. *
* *
**************************************************************************/
#ifndef __SYSSGI_H__
#define __SYSSGI_H__
#ifdef __cplusplus
extern "C" {
#endif
#ident "$Revision: 3.44 $"
/*
** syssgi() system call commands.
*/
#define SGI_SYSID 1 /* get the system ID */
#define SGI_RDUBLK 2 /* read user area */
#define SGI_TUNE 3 /* change tune values --
see sys/tuneable.h */
#define SGI_IDBG 4 /* access to internal debugger */
#define SGI_INVENT 5 /* hardware inventory */
#define SGI_RDNAME 6 /* get name of process given pid */
#define SGI_SETLED 7 /* set cpu board led state(s) */
#define SGI_SETNVRAM 8 /* set nvram */
#define SGI_GETNVRAM 9 /* get nvram */
#define SGI_ENABLE_FTIMER 10 /* turn fastimer on/off */
#define SGI_DISABLE_FTIMER 11
#define SGI_QUERY_FTIMER 12
#define SGI_QUERY_CYCLECNTR 13
#define SGI_PROCSZ 14 /* recalc p_size, p_rsssize */
/* POSIX signal system calls */
#define SGI_SIGACTION 15
#define SGI_SIGPENDING 16
#define SGI_SIGPROCMASK 17
#define SGI_SIGSUSPEND 18
/* Other POSIX system calls */
#define SGI_SETSID 20
#define SGI_SETPGID 21
#define SGI_SYSCONF 22
#define SGI_WAIT4 23
#define SGI_PATHCONF 24
/* Block read & Block write system calls: to allow access to > 2 gig
* of space on a disk or logical volume for large filesystems.
*/
#define SGI_READB 30
#define SGI_WRITEB 31
/* BSD-style setgroups() and getgroups() system calls */
#define SGI_SETGROUPS 40
#define SGI_GETGROUPS 41
#define SGI_ENABLE_FASTCLOCK 50 /* turn fast clock on/off */
#define SGI_DISABLE_FASTCLOCK 51
#define SGI_SETTIMEOFDAY 52 /* set time including microseconds */
#define SGI_SETTIMETRIM 53 /* change crystal trimmer */
#define SGI_GETTIMETRIM 54
#define SGI_SPROFIL 55 /* sprofil(2) entry point */
#define SGI_RUSAGE 56 /* Berkeley's getrusage(2) */
#define SGI_SIGSTACK 57 /* Berkeley's sigstack(2) */
#define SGI_SIGSTATUS 58 /* sgi call to support BSD longjmp */
#define SGI_NETPROC 59 /* start network process */
#define SGI_SIGALTSTACK 60 /* SVR4 sigaltstack(2) */
#define SGI_BDFLUSHCNT 61 /* change bdflushcnt */
#define SGI_SSYNC 62 /* synchronous sync */
#define SGI_NFSCNVT 63 /* convert file handle to descriptor */
/*
* Trusted IRIX reserves 70-89. Give them 10 to spare
*/
#define SGI_RMI_FIXECC 100 /* RMI read ECC-correct on/off (1/0) */
#define SGI_R4K_CERRS 101 /* return set of ECC cache-err cnts */
/* the syssgi() SGI_RMI_FIXECC entrypoint toggles the RMI ecc
* read-correction. */
#define RMI_ECC_OFF 0
#define RMI_ECC_ON 1
#if (defined(R4000) && defined(_FORCE_ECC))
/* Debug stuff uses numbers up around 1000 */
#define SGI_FORCE_ECC 1010 /* debug - force ecc errors */
enum force_ecc_where { IN_PD, IN_PI, IN_SD, IN_SI, IN_MEM, IN_MEM_IO3 };
/* each double-word in memory has an 8-bit ECC checkbit value that
* is computed and stored with it. */
typedef struct ecc_data_word {
uint hi_word;
uint lo_word;
u_char ecc_val;
} ecc_data_word_t;
#endif /* R4K and _FORCE_ECC */
#ifdef TRUSTEDIRIX
/*
* System calls for mandatory access control.
*/
#define SGI_GETPLABEL 70 /* Get process label */
#define SGI_SETPLABEL 71 /* Set process label */
#define SGI_GETLABEL 72 /* Get file label */
#define SGI_SETLABEL 73 /* Set file label */
/*
* System calls for auditing (SAT).
*/
#define SGI_SATREAD 74 /* Read audit rec from the kernel */
#define SGI_SATWRITE 75 /* Write audit rec to the kernel */
#define SGI_SATCTL 76 /* Control/query the audit stream */
#define SGI_LOADATTR 77 /* Load attributes database */
#define SGI_UNLOADATTR 78 /* Unload attributes database */
/*
* System calls for trusted sockets.
*/
#define SGI_RECVLMSG 79 /* recvmsg() with label */
/*
* System calls for Plan G data bases.
* See also SGI_LOADATTR and SGI_UNLOADATTR.
*/
#define SGI_PLANGMOUNT 80 /* mount() with PlanG info */
#endif /* TRUSTEDIRIX */
/* The internal values for the POSIX sysconf() are defined below; the libc
* sysconf() wrapper will include this file, and unistd.h #defines the
* official names to these internal names.
*/
#define _INT_ARG_MAX 1
#define _INT_CHILD_MAX 2
#define _INT_CLK_TCK 3
#define _INT_NGROUPS_MAX 4
#define _INT_OPEN_MAX 5
#define _INT_JOB_CONTROL 6
#define _INT_SAVED_IDS 7
#define _INT_VERSION 8
/* and the internal values for pathconf() */
#define _INT_LINK_MAX 1
#define _INT_MAX_CANON 2
#define _INT_MAX_INPUT 3
#define _INT_NAME_MAX 4
#define _INT_PATH_MAX 5
#define _INT_PIPE_BUF 6
#define _INT_CHOWN_RESTRICTED 7
#define _INT_NO_TRUNC 8
#define _INT_VDISABLE 9
/*
* kernel pathconf() must know whether called by fpathconf or
* pathconf--i.e how to interpret the 1st parameter. (It is not
* currently used at all, but may be in the future.)
*/
#define PATHCONF 1
#define FPATHCONF 2
#define GET_SYSID SGI_SYSID /* compatability */
#define MAXSYSIDSIZE 64 /* maximum size in bytes of the system id */
/* hardware inventory options */
#define SGI_INV_SIZEOF 1 /* get sizeof inventory struct */
#define SGI_INV_READ 2 /* read inventory table */
/* nvram options */
#define SGI_NVSTRSIZE 128 /* Not perfect, but reasonable size. */
#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS)
#ifndef _KERNEL
extern int syssgi(int, ...);
#endif /* !_KERNEL */
#endif
#ifdef __cplusplus
}
#endif
#endif /* __SYSSGI_H__ */